/*
 * Copyright (c) 2013.
 * 游戏服务器核心代码编写人陈磊拥有使用权
 * 联系方式：E-mail:13638363871@163.com ;qq:502959937
 * 个人博客主页：http://my.oschina.net/chenleijava
 */

package com.dc.gameserver.serverCore.service.battle.coreBattleLogic.sameCardType;

import com.dc.gameserver.hardCode.CardType;
import com.dc.gameserver.serverCore.service.battle.coreBattleLogic.AbstractSameLogic;
import com.dc.gameserver.serverCore.service.cardModule.CardBox;
import com.dc.gameserver.serverCore.service.cardModule.CardBoxManager;
import com.dc.gameserver.serverCore.service.character.GameCharacter;
import org.springframework.stereotype.Service;

/**
 * @author 石头哥哥
 *         Date: 13-11-1</br>
 *         Time: 上午9:58</br>
 *         Package: Server.ServerCore.Service.fightProcess.sameCardType</br>
 *         注解：玩家都出 防御 2  逻辑处理
 *         都出防御牌逻辑
 */
@Service
public class defenceLogic extends AbstractSameLogic {

    /**
     * 通过spring注解方式初始化处理logic的实例化引用
     */
    @Override
    public void PostConstruct() {
        LOGICS[CardType.DEFENCE_TYPE.getType()]=this;
    }


    /**
     * logic 处理
     * 双方同时出防御
     * @param p1 玩家1
     * @param p2 玩家2
     *           1.规则计算气血，法力值；
     *           2.刷新数据
     *
     */
    @Override
    public void logicHandle(GameCharacter p1,GameCharacter p2) {
        CardBox cardBox= CardBoxManager.getCardBoxByID(p1.getCardBoxID());
        //compute
        CardBoxManager.DeffenceCompute(p1,p2);
        //通知防御回蓝
        cardBox.flushBloodAndMagic();
        //重新发牌 ，同步纸牌，同步气血 法力值
        cardBox.resetRoundResource();
    }

}
